(define (problem tyre-replacement)
    (:domain tyre-replacement)
    (:objects
        jack pump wrench boot - container
        hub1 hub2 hub3 - hub
        nut1 nut2 nut3 - nut
        flatTyre1 flatTyre2 flatTyre3 - flatTyre
        intactTyre1 intactTyre2 intactTyre3 - intactTyre
    )
    (:init
        (has jack)
        (has pump)
        (has wrench)
        (unlocked boot)
        (closed boot)
        (inside jack boot)
        (inside pump boot)
        (inside wrench boot)
        (inside intactTyre1 boot)
        (inside intactTyre2 boot)
        (inside intactTyre3 boot)
        (onGround hub1)
        (onGround hub2)
        (onGround hub3)
        (tight nut1 hub1)
        (tight nut2 hub2)
        (tight nut3 hub3)
        (fastened hub1)
        (fastened hub2)
        (fastened hub3)
        (on flatTyre1 hub1)
        (on flatTyre2 hub2)
        (on flatTyre3 hub3)
        (notInflated intactTyre1)
        (notInflated intactTyre2)
        (notInflated intactTyre3)
    )
    (:goal (and
        (inside flatTyre1 boot)
        (inside flatTyre2 boot)
        (inside flatTyre3 boot)
        (inside jack boot)
        (inside pump boot)
        (inside wrench boot)
        (closed boot)
        (on intactTyre1 hub1)
        (on intactTyre2 hub2)
        (on intactTyre3 hub3)
        (inflated intactTyre1)
        (inflated intactTyre2)
        (inflated intactTyre3)
        (tight nut1 hub1)
        (tight nut2 hub2)
        (tight nut3 hub3)
    ))
)